package chapter03;

/**
 * 创建学生类
 * 学生类是所有学生的抽象
 */
class Student{
    String name;// 字符类String 学生类名字属性
    int age;// 学生类的年龄属性
    String gender;// 性别属性
    // 学生类方法（模仿现实世界对象的动作）
    void read(){
        System.out.println("大家好，我是"+name+"，我在学习！");
    }
    /** 访问控制
     * private 私有访问权限，只能类本身使用 例如 read内使用
     * default 默认权限，本包内可以使用 例如 chapter03内
     * protected 受保护权限 予类成员访问
     * public 公共权限
     */
    public void write(){
        System.out.println(name+"正在code...");
    }
}

public class Demo1 {
    public static void main(String[] args){
        /**
         * 创建对象
         * 对象是指该类型下 具体的某一个实体
         * 在代码中类不占用空间
         * 创建对象计算机需要给对象划分具体的空间用来存放
         * 划分空间的方式就是关键字 new
         */
        Student stu = new Student();
        /**
         * new Student() 划分学生类的空间
         * Student stu 学生类型的变量stu
         */
        stu.name = "猪小明";// 输入该学生具体姓名
        stu.age = 28;
        stu.gender = "男";
        //stu.read();//让学生执行报姓名动作
        Student stu1 = new Student();
        stu1.name = "蘑菇头";
        //stu1.read();
        // 对象引用传递（参照逃课替答到）
        Student stu3 = stu1;
        stu3.name = "毛台";
        stu.read();
        stu1.read();
        stu3.read();
    }
}
